PHP ile bir MySQL veritabanındaki tablolardan 3 farklı yöntemle veri okuyabiliriz.
MySQL'de bir tablodan veri okumak için SELECT komutu kullanılır. MySQL ile bir tablodan tüm sütun değerlerini okumak için aşağıdaki komut yapısını kullanabilirsiniz:
SELECT * FROM tablo_adi
Sadece belirli sütun değerlerini okumak isterseniz * karakteri yerine virgülişareti ile ayırarak sütun adlarını yazmanız yeterli olacaktır:
SELECT sutun_adi1, sutun_adi2 FROM tablo_adi
Buradaki örneklerimizde, daha önce oluşturduğumuz personel adlı tablodan veri okumaya çalışacağız:
1. MySQLi Nesneye Dayalı yöntem ile
<?php
$sunucu = "localhost";
$kullanici = "kullanıcıadı";
$parola = "parola";
$veritabani = "veritabaniadi";
// Bağlantı oluşturma
$bag = new mysqli($sunucu, $kullanici, $parola, $veritabani);
// Bağlantı kontrolü
if ($bag->connect_error) {
die("Bağlantı hatası: " . $bag->connect_error);
}
// MySQL tablodan değer okuma komutu
$sqlquery = "SELECT adi, soyadi, dogumtarihi FROM personel";
$sonuc = $conn->query($sqlquery);
if ($sonuc->num_rows > 0) {
// Döngünün her tekrarında tabloda yer alan bir kayıda işlem yapar.
while($row = $sonuc->fetch_assoc()) {
echo "Adı ve soyadı: " . $row["adi"]. " " . $row["soyadi"] . "<br/>";
echo "Doğum tarihi: " . $row["dogumtarihi"]. "<br/><br/>";
}
}
else {
echo "Kayıt bulunamadı!";
}
$bag->close();
?>
Yukarıdaki örnekteki kodlar, veritabanına bağlandıktan sonra, $sqlquery değişkenine kayıt okumak için gerekli olan MySQL komut dizisini atar. $sqlquery değişkenini $bag->query() fonksiyonuna parametre olarak geçirip, fonksiyonu çağırarak personel tablosu içindeki adi, soyadi ve dogumtarihi sütunlarında yer alan değerleri okur ve sonucları $sonuc değişkenine atar. Eğer, $sonuc değişkeni içindeki num_rows değeri yani okunan kayıt sayısı 0'dan büyük ise, while döngüsü ile fetch_assoc() fonksiyonu her defasında bir kayıt olmak üzere tüm sütun değerlerini $row değişkenine atayarak ekrana yazar. Hata meydana gelirse, $bag->error değişkeni ile ekrana yazar.
2. MySQLi fonksiyonel yöntem ile
<?php
$sunucu = "localhost";
$kullanici = "kullanıcıadı";
$parola = "parola";
$veritabani = "veritabaniadi";
// Bağlantı oluşturma
$bag = mysqli_connect($sunucu, $kullanici, $parola, $veritabani);
// Bağlantı kontrolü
if (!$bag) {
die("Bağlantı hatası: " . mysqli_connect_error());
}
// MySQL tablodan değer okuma komutu
$sqlquery = "SELECT adi, soyadi, dogumtarihi FROM personel";
$sonuc = mysqli_query($conn, $sqlquery);
if (mysqli_num_rows($sonuc)> 0) {
// Döngünün her tekrarında tabloda yer alan bir kayıda işlem yapar.
while($row = mysqli_fetch_assoc($sonuc)) {
echo "Adı ve soyadı: " . $row["adi"]. " " . $row["soyadi"] . "<br/>";
echo "Doğum tarihi: " . $row["dogumtarihi"]. "<br/><br/>";
}
}
else {
echo "Kayıt bulunamadı!";
}
mysqli_close($bag);
?>
Yukarıdaki örnekteki kodlar, bir önceki örnekte nesneye dayalı yöntemle okunan kayıtları fonksiyonel yöntemle tablodan okur.